package com.cfjjc.gz.usraccount.vo;

import java.util.HashMap;
import java.util.Map;
import com.cfjjc.gz.common.cache.CacheUtil;
import com.cfjjc.gz.common.consts.TypeConst;
import com.cfjjc.gz.common.vo.BaseVO;

/**
 * 
 * 说明： 用户组信息表的值对象类
 * 
 * @author  liuxun
 * @since 2012-03-06
 * @version 1.0
 */ 
public class A_USR_GRPVO extends BaseVO {

    /**
	 * 
	 */
	private static final long serialVersionUID = -4955102020615311095L;

	//作为主键的属性名列表
    private static String[] KEY_PROPERTY_NAMES = {  "usr_grp_id" };

    private String usr_grp_id; //用户组ID   (主键)     

    private String usr_grp_code; //用户组代码      
    
    private String usr_grp_name; //用户组名称      

    private String usr_grp_type; //用户组类型      

    private String usr_grp_status; //用户组状态      

    private String usr_grp_desc; //描述      

    private String node_id; //节点ID      
    
	private String create_by; // 创建人

	private String create_at; // 创建时间

	private String update_by; // 更新人

	private String update_at; // 更新时间    

////////////////////////////////以下为辅助字段///////////////////////////
    private String usr_grp_status_decode; //用户组 (decode)

	// 实现父类方法。返回主键属性名列表
    public String[] getKeyPropNames() {
        return KEY_PROPERTY_NAMES;
    }    

    /** 以下为get,set方法 */

	/**
	 * @return 返回 用户组ID
	 */
    public String getUsr_grp_id() {
      return this.usr_grp_id;
    }
    /**
	 * @param usr_grp_id
	 *            要设置的 用户组ID
	 */
    public void setUsr_grp_id(String usr_grp_id) {
      this.usr_grp_id = usr_grp_id;
    }

	/**
	 * @return 返回 用户组代码
	 */
    public String getUsr_grp_code() {
      return this.usr_grp_code;
    }
    /**
	 * @param usr_grp_code
	 *            要设置的 用户组代码
	 */
    public void setUsr_grp_code(String usr_grp_code) {
      this.usr_grp_code = usr_grp_code;
    }
    
    /**
     * @return 返回 用户组名称
     */
    public String getUsr_grp_name() {
    	return this.usr_grp_name;
    }
    /**
     * @param usr_grp_name
     *            要设置的 用户组名称
     */
    public void setUsr_grp_name(String usr_grp_name) {
    	this.usr_grp_name = usr_grp_name;
    }

	/**
	 * @return 返回 用户组类型
	 */
    public String getUsr_grp_type() {
      return this.usr_grp_type;
    }
    /**
	 * @param usr_grp_type
	 *            要设置的 用户组类型
	 */
    public void setUsr_grp_type(String usr_grp_type) {
      this.usr_grp_type = usr_grp_type;
    }

	/**
	 * @return 返回 用户组状态
	 */
    public String getUsr_grp_status() {
      return this.usr_grp_status;
    }
    /**
	 * @param usr_grp_status
	 *            要设置的 用户组状态
	 */
    public void setUsr_grp_status(String usr_grp_status) {
      this.usr_grp_status = usr_grp_status;
    }

	/**
	 * @return 返回 描述
	 */
    public String getUsr_grp_desc() {
      return this.usr_grp_desc;
    }
    /**
	 * @param usr_grp_desc
	 *            要设置的 描述
	 */
    public void setUsr_grp_desc(String usr_grp_desc) {
      this.usr_grp_desc = usr_grp_desc;
    }

	/**
	 * @return 返回 节点ID
	 */
    public String getNode_id() {
      return this.node_id;
    }
    /**
	 * @param node_id
	 *            要设置的 节点ID
	 */
    public void setNode_id(String node_id) {
      this.node_id = node_id;
    }

  	
	public String getUsr_grp_status_decode() {
		Map<String,String> map = new HashMap<String,String>();
		map.put("type_code", TypeConst.USR_GRP_STATUS);
		map.put("type_value_code", usr_grp_status);
		usr_grp_status_decode = (String) CacheUtil.getProperty("P_TYPE_VALUE", "type_value_name", map);
		return usr_grp_status_decode;
	}

	
	public void setUsr_grp_status_decode(String usr_grp_status_decode) {
		this.usr_grp_status_decode = usr_grp_status_decode;
	}
	
	/**
	 * @return 返回 创建人
	 */
	public String getCreate_by() {
		return create_by;
	}

	/**
	 * @param create_by 
	 *            要设置的 创建人 
	 */
	public void setCreate_by(String create_by) {
		this.create_by = create_by;
	}

	/**
	 * @return 返回 创建时间
	 */
	public String getCreate_at() {
		return create_at;
	}

	/**
	 * @param create_at 
	 *            要设置的 创建时间 
	 */
	public void setCreate_at(String create_at) {
		this.create_at = create_at;
	}

	/**
	 * @return 返回 更新人
	 */
	public String getUpdate_by() {
		return update_by;
	}

	/**
	 * @param update_by 
	 *            要设置的 更新人 
	 */
	public void setUpdate_by(String update_by) {
		this.update_by = update_by;
	}

	/**
	 * @return 返回 更新时间
	 */
	public String getUpdate_at() {
		return update_at;
	}

	/**
	 * @param update_at 
	 *            要设置的 更新时间 
	 */
	public void setUpdate_at(String update_at) {
		this.update_at = update_at;
	}
	/**
	 * 将对象的内容以字符串的方式输出
	 */
    public String toString() {
        StringBuffer str = new StringBuffer();

        str.append(this.getClass().getName())
            .append("[ 用户组ID=").append(this.usr_grp_id)
            .append(", 用户组代码=").append(this.usr_grp_code)
            .append(", 用户组名称=").append(this.usr_grp_name)
            .append(", 用户组类型=").append(this.usr_grp_type)
            .append(", 用户组状态=").append(this.usr_grp_status)
            .append(", 描述=").append(this.usr_grp_desc)
            .append(", 节点ID=").append(this.node_id)
            .append(", 创建人=").append(this.create_by)
            .append(", 创建时间=").append(this.create_at)
            .append(", 更新人=").append(this.update_by)
            .append(", 更新时间=").append(this.update_at)	            
            .append(" ]");

        return str.toString();
    }
}
